package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

/*
* Author: JacksonCoder
* CreateTime: 2024/12/2
 */

func main() {
	server := gin.Default()
	// 当一个 HTTP 请求， 用GET 方法访问的时候，如果访问的路径是 /hello,
	server.GET("/hello", func(c *gin.Context) {
		// 就会执行这段代码
		c.String(http.StatusOK, "hello, Golang")
	})

	server.POST("/post", func(ctx *gin.Context) {
		ctx.String(http.StatusOK, "this is post !!!")
	})

	server.GET("/user/:name", func(ctx *gin.Context) {
		name := ctx.Param("name")
		ctx.String(http.StatusOK, "hello， 这个是参数路由 "+name)
	})

	server.GET("/views/*.html", func(ctx *gin.Context) {
		page := ctx.Param(".html")
		ctx.String(http.StatusOK, "hello , 这个是通配符路由 "+page)
	})

	server.GET("/query", func(ctx *gin.Context) {
		oid := ctx.Query("id")
		ctx.String(http.StatusOK, "hello, 这是查询参数 "+oid)
	})

	//    * 不能单独出现
	//server.GET("/index*abc",func(ctx *gin.Context) {
	//	ctx.String(http.StatusOK, "hello , 这里是 index")
	//})

	server.GET("/items/*abc", func(ctx *gin.Context) {
		ctx.String(http.StatusOK, "hello , 这里是 items")
	})

	server.Run(":8080") // 默认监听在 0.0.0.0:8080
}
